<template><div><h2 id="理论" tabindex="-1"><a class="header-anchor" href="#理论"><span>理论</span></a></h2>
<h3 id="java常用数据结构" tabindex="-1"><a class="header-anchor" href="#java常用数据结构"><span>JAVA常用数据结构</span></a></h3>
<h4 id="list" tabindex="-1"><a class="header-anchor" href="#list"><span>List</span></a></h4>
<ol>
<li>ArrayList</li>
<li>LinkedList</li>
</ol>
<h4 id="set" tabindex="-1"><a class="header-anchor" href="#set"><span>Set</span></a></h4>
<ol>
<li>HashSet</li>
<li>TreeSet</li>
</ol>
<h4 id="map" tabindex="-1"><a class="header-anchor" href="#map"><span>Map</span></a></h4>
<ol>
<li>HashMap</li>
<li>BitMap</li>
</ol>
<h4 id="queue" tabindex="-1"><a class="header-anchor" href="#queue"><span>Queue</span></a></h4>
<h4 id="deque" tabindex="-1"><a class="header-anchor" href="#deque"><span>Deque</span></a></h4>
<h4 id="stack" tabindex="-1"><a class="header-anchor" href="#stack"><span>Stack</span></a></h4>
<h3 id="java的三种循环方式-loops" tabindex="-1"><a class="header-anchor" href="#java的三种循环方式-loops"><span>JAVA的三种循环方式(Loops)</span></a></h3>
<h4 id="普通for循环" tabindex="-1"><a class="header-anchor" href="#普通for循环"><span>普通for循环</span></a></h4>
<div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf"><pre class="shiki one-dark-pro vp-code" v-pre=""><code><span class="line"><span style="color:#C678DD">for</span><span style="color:#E06C75">(</span><span style="color:#C678DD">int</span><span style="color:#E06C75"> i </span><span style="color:#56B6C2">=</span><span style="color:#D19A66"> 0</span><span style="color:#ABB2BF">;</span><span style="color:#E06C75"> i </span><span style="color:#56B6C2">&#x3C;</span><span style="color:#E06C75"> size</span><span style="color:#ABB2BF">;</span><span style="color:#E06C75"> i</span><span style="color:#ABB2BF">++</span><span style="color:#E06C75">){</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic">	// 循环体</span></span>
<span class="line"><span style="color:#E06C75">}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="增强for-in-of-循环" tabindex="-1"><a class="header-anchor" href="#增强for-in-of-循环"><span>增强for in/of 循环</span></a></h4>
<div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf"><pre class="shiki one-dark-pro vp-code" v-pre=""><code><span class="line"><span style="color:#C678DD">for</span><span style="color:#E06C75">(</span><span style="color:#E5C07B">Object</span><span style="color:#E06C75"> obj </span><span style="color:#C678DD">:</span><span style="color:#E06C75"> objectList){</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic">    // 循环体</span></span>
<span class="line"><span style="color:#E06C75">}</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="foreach循环" tabindex="-1"><a class="header-anchor" href="#foreach循环"><span>foreach循环</span></a></h4>
<div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf"><pre class="shiki one-dark-pro vp-code" v-pre=""><code><span class="line"><span style="color:#E5C07B">objectList</span><span style="color:#ABB2BF">.</span><span style="color:#61AFEF">foreach</span><span style="color:#ABB2BF">(item</span><span style="color:#C678DD">-></span><span style="color:#ABB2BF">{ </span><span style="color:#7F848E;font-style:italic">/*循环体*/</span><span style="color:#ABB2BF"> });</span></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><blockquote>
<p>性能上的比较: for &gt; foreach, 因为forEach方法是一个高阶函数，会引入额外的函数调用开销</p>
</blockquote>
<h3 id="java关键字" tabindex="-1"><a class="header-anchor" href="#java关键字"><span>JAVA关键字</span></a></h3>
<h4 id="interface-class-enumerate的特性" tabindex="-1"><a class="header-anchor" href="#interface-class-enumerate的特性"><span>interface,class,enumerate的特性</span></a></h4>
<h4 id="abstract-static修饰符在类-变量-函数等等前面的作用" tabindex="-1"><a class="header-anchor" href="#abstract-static修饰符在类-变量-函数等等前面的作用"><span>abstract,static修饰符在类,变量,函数等等前面的作用</span></a></h4>
<h4 id="const-volatle修饰符在类-变量-函数等等前面的作用" tabindex="-1"><a class="header-anchor" href="#const-volatle修饰符在类-变量-函数等等前面的作用"><span>const,volatle修饰符在类,变量,函数等等前面的作用</span></a></h4>
<h4 id="public-private-protect与访问修饰符的区别与在类-变量-函数等等前面的作用" tabindex="-1"><a class="header-anchor" href="#public-private-protect与访问修饰符的区别与在类-变量-函数等等前面的作用"><span>public,private,protect与访问修饰符的区别与在类,变量,函数等等前面的作用</span></a></h4>
<h3 id="java多线程" tabindex="-1"><a class="header-anchor" href="#java多线程"><span>JAVA多线程</span></a></h3>
<h4 id="学习thread-runable-callable这三个线程相关的类与接口" tabindex="-1"><a class="header-anchor" href="#学习thread-runable-callable这三个线程相关的类与接口"><span>学习Thread,Runable,Callable这三个线程相关的类与接口</span></a></h4>
<h4 id="学习java原生的executorservice等线程池定义" tabindex="-1"><a class="header-anchor" href="#学习java原生的executorservice等线程池定义"><span>学习JAVA原生的ExecutorService等线程池定义</span></a></h4>
<h4 id="了解普通线程与守护线程的区别" tabindex="-1"><a class="header-anchor" href="#了解普通线程与守护线程的区别"><span>了解普通线程与守护线程的区别</span></a></h4>
<h4 id="扩展-了解线程与jvm运行与退出的关系" tabindex="-1"><a class="header-anchor" href="#扩展-了解线程与jvm运行与退出的关系"><span>扩展: 了解线程与JVM运行与退出的关系</span></a></h4>
<h3 id="java反射原理" tabindex="-1"><a class="header-anchor" href="#java反射原理"><span>JAVA反射原理</span></a></h3>
<h4 id="学习java的class-类-了解在程序种如何获得对象的类-并不通过构造函数声明对象" tabindex="-1"><a class="header-anchor" href="#学习java的class-类-了解在程序种如何获得对象的类-并不通过构造函数声明对象"><span>学习JAVA的Class&lt;?&gt;类,了解在程序种如何获得对象的类,并不通过构造函数声明对象</span></a></h4>
<h4 id="学习method类-了解如何用通过method类调用函数" tabindex="-1"><a class="header-anchor" href="#学习method类-了解如何用通过method类调用函数"><span>学习Method类,了解如何用通过Method类调用函数</span></a></h4>
<h4 id="学习annotation类与注解-了解注解的工作原理" tabindex="-1"><a class="header-anchor" href="#学习annotation类与注解-了解注解的工作原理"><span>学习Annotation类与注解,了解注解的工作原理</span></a></h4>
<h2 id="练习" tabindex="-1"><a class="header-anchor" href="#练习"><span>练习</span></a></h2>
<ol>
<li>
<p>使用JAVA实现车厢重排问题,练习基础数据结构的使用</p>
</li>
<li>
<p>代码是使用;符号来分割行的.使用<strong>一行代码</strong>,完成对一个无序整数列表的排序,并把排序后的列表按照100为区间,分到一个Map&lt;Integer,List(Integer)&gt;里面如(0: 29,33; 1: 111,123; 2: 222,265;)</p>
</li>
<li>
<p>定义一个大象类</p>
<ol>
<li>变量：打开冰箱(Bool),装进冰箱(Bool),观上冰箱(Bool),大象名字(String)</li>
<li>类静态变量：冰箱里的大象数量(整数)</li>
<li>初始化一个包含一万个大象对象的队列，大象的名字各不相同</li>
<li>定义一个空集合(Set)，想想使用哪种实现类型在这个任务下性能更好，且不容易出错</li>
<li>定义三组线程，每组三个线程，共九个线程</li>
<li>第一组：打开冰箱</li>
<li>第二组：装进冰箱,把大象放入集合(Set)内</li>
<li>第三组：关上冰箱门,增加冰箱里的大象数量</li>
</ol>
</li>
<li>
<p>利用反射知识，再次实现（3）或（1）的程序调用,不能使用new运算符,也不能使用对象直接调用函数</p>
</li>
</ol>
</div></template>


